A fiber-optic spectroscopic setup for isomerization quantum yield determination

A spectroscopic setup for isomerization quantum yield determination is reported. The setup combines fiber-coupled LEDs, a commercially calibrated thermopile detector for measurement of the photon flux, and a fiber-coupled UV–vis spectrometer. By solving the rate equations numerically, isomerization quantum yields can be obtained from the UV–vis absorption spectra. We show that our results for the prototypical photoswitch azobenzene are in excellent agreement with the literature. The analysis of the errors showed that the quantum yields determined using this method are in the same order of magnitude as when using actinometry, thus demonstrating the reliability of our setup.


Overview of measurement steps
Repeat this for a user-defined number of cycles.
The measurement is controlled by an AutoHotkey 2 (v2.0) script that does two things:  Acquire a spectrum by starting a Single measurement in AvaSoft, 1 which also controls the light source shutter (steps 1-3).
 Turn on or off the LED using a Python script to communicate with an Arduino UNO R3 4 that is connected to an LED driver 5 (steps 4-6).
Additionally, the script generates a log file that contains the timestamps of acquisition, LED on, and LED off.

Configuration of irradiation setup
 Configure AvaSoft to control the shutter of the light source.See Configuration of AvaSoft.
 Connect the Arduino to the LED driver with a BNC cable.See Connect the Arduino to the LED driver.
 Set up scripts for the control of the LED driver with the Arduino.See Arduino control of LED driver.

Configuration of AvaSoft
The light source (AvaLight-DH-S-BAL) is connected to the spectrometer via an interface cable (IC-DB26-RM), which allows AvaSoft to control the internal shutter of the light source.Set the shutter to be closed between measurements by checking the box TTL Close Shutter Except when Measuring in the Digital IO tab of the Settings for spectrometer window.With this configuration, starting a single measurement in AvaSoft sends a TTL signal to the light source that opens the shutter, which is followed by the acquisition of a single spectrum, and finally a TTL signal is sent to close the shutter again.

Connect the Arduino to the LED driver
For the connection of the Arduino with the LED driver, we stripped one end of a BNC cable to reveal two wires (live and ground) that we soldered to small metal pins that fit into the Arduino UNO R3 pins (Figure S1).The live wire is connected to PIN12 of the DIGITAL section, and the ground wire to GND of the POWER section on the Arduino circuit board.Make sure the LED driver is set to TRIG mode (Figure S2).This setting means the LED driver will turn off upon receiving a 0 V TTL trigger, and on upon receiving a 5 V trigger from the Arduino.

Upload SerialReadCOM.ino to Arduino
This file needs to be uploaded to the Arduino before use (using the Arduino IDE 3 ), in order for the Arduino to be able to receive commands from the computer by means of the Python script (see below).After it has been uploaded once, the script does not need to be uploaded again as Arduino will store the script in its internal memory. .Check that the LED indeed turns on (and off) at the times that it is supposed to according to the input parameters.10.If necessary, stop the measurement using the hotkey LCtrl+LAlt+,

Measure the current with a multimeter
We attached crocodile clips to the brown (Pin 1 Anode) and white (Pin 2 Cathode) wire ends of an LED connection cable (Thorlabs CAB-LEDD1) (Figure S3).These crocodile clips are used to clamp onto the probes of a multimeter in order to measure the current output of the LED driver.
N.B. be careful: high currents (up to 1.2 A).

Figure S1 :
Figure S1: Pictures of the connection between the LED driver and the Arduino via a

Figure S2 :
Figure S2: Picture of the LED driver in TRIG mode.

2 .
Configure ArduinoCommunication.py a. Edit the script to use the correct COM port that is connected to the Arduino S6 b.Place the script in the same folder as that containing Autoclick_IrrKin.ahkThis Python script communicates with and sends commands to the Arduino via its COM port.3. Modify and uncomment the line in Autoclick_IrrKin.ahk that changes the current working directory to the directory containing ArduinoCommunication.py, i.e. the same folder that contains the AutoHotkey script.Run measurement with AutoHotkey script 1. Choose a fiber-optic LED with the desired emission wavelength 2. Connect fiber-optic cable used for irradiation to the LED 3. Connect LED power cable to the LED driver and set corresponding maximum current a.For measuring the current with a multi-meter: see Measure the current with a multimeter b.Make sure the LED driver is set to TRIG mode.4. Open a Windows PowerShell window (it is needed by Autoclick_IrrKin.ahk to run ArduinoCommunication.py) 5. Make sure to set AvaSoft to collect single spectra (Start > Single measurement) 6. Set up the auto-save option in AvaSoft (File > Save to file) 7. Execute Autoclick_IrrKin.ahka. Choose location and filename for log file b.Input the requested parameters: interval and number of cycles 8. Start the measurement (using the hotkey LCtrl+LAlt+.)S7 9

Figure S3 :
Figure S3: Picture of the LED connection cable modified with attached crocodile clips

Figure S4 :
Figure S4: LED emission spectra of the ThorLabs LEDs used for quantum yield

Table S1 :
Power measurements for different LEDs.Differences in power for the 340 nm LED are due to different currents set for the LED driver, to test the reproducibility of the method.
a nominal wavelength, b total power loss, c percentage power loss at sample S10